package com.zhiche.lisa.bms.dao.model.charge;

import java.io.Serializable;

import com.baomidou.mybatisplus.enums.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;

/**
 * <p>
 * 出账规则
 * </p>
 *
 * @author liuanshun
 * @since 2018-11-29
 */
@TableName("lisa_charge_off_rule")
public class ChargeOffRule extends Model<ChargeOffRule> {

    private static final long serialVersionUID = 1L;

	@TableId(value="id", type= IdType.AUTO)
	private Long id;
    /**
     * 车队id
     */
	@TableField("fleet_id")
	private Long fleetId;
    /**
     * 车队名称
     */
	@TableField("fleet_name")
	private String fleetName;
    /**
     * 车队属性, 0-临时, 1-正式
     */
	@TableField("fleet_attribute")
	private Integer fleetAttribute;
    /**
     * 运单状态：0-已发运、1-已回单
     */
	private Integer status;
    /**
     * 账期周期:0-周、1-月
     */
	@TableField("pay_dayss")
	private Integer payDayss;
    /**
     * 账期：0-N;1-N+1;N+2
     */
	@TableField("pay_days")
	private Integer payDays;
    /**
     * 出账日：1-7或者1-30
     */
	@TableField("charge_days")
	private Integer chargeDays;
    /**
     * 运输模式：0-板车运输;1-铁路运输;2-人送地跑;3-船运;4-运输业务;
     */
	@TableField("trans_type")
	private String transType;
    /**
     * 运输模式id
     */
	@TableField("trans_type_id")
	private Long transTypeId;
    /**
     * 付款日期; 0-次月30号, 1-当月30号, 2-当月15号
     */
	private Integer payment;
    /**
     * 下发日期; 0-1号
     */
	@TableField("issue_date")
	private Integer issueDate;
    /**
     * 对账时效; 0-每月10号, 1-每月15号, 2-每月20号
     */
	@TableField("rec_aging")
	private Integer recAging;
    /**
     * 收票时效; 0-每月13号, 1-每月20号, 2-每月25号
     */
	@TableField("invoice_aging")
	private Integer invoiceAging;
    /**
     * 生效日期
     */
	@TableField("effective_date")
	private Date effectiveDate;
    /**
     * 失效日期
     */
	@TableField("invalid_date")
	private Date invalidDate;
    /**
     * 创建日期
     */
	@TableField("gmt_create")
	private Date gmtCreate;
    /**
     * 创建人
     */
	private Long creator;
    /**
     * 是否启用, 0-停用, 1-启用
     */
	@TableField("is_start")
	private Integer isStart;


	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Long getFleetId() {
		return fleetId;
	}

	public void setFleetId(Long fleetId) {
		this.fleetId = fleetId;
	}

	public String getFleetName() {
		return fleetName;
	}

	public void setFleetName(String fleetName) {
		this.fleetName = fleetName;
	}

	public Integer getFleetAttribute() {
		return fleetAttribute;
	}

	public void setFleetAttribute(Integer fleetAttribute) {
		this.fleetAttribute = fleetAttribute;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public Integer getPayDayss() {
		return payDayss;
	}

	public void setPayDayss(Integer payDayss) {
		this.payDayss = payDayss;
	}

	public Integer getPayDays() {
		return payDays;
	}

	public void setPayDays(Integer payDays) {
		this.payDays = payDays;
	}

	public Integer getChargeDays() {
		return chargeDays;
	}

	public void setChargeDays(Integer chargeDays) {
		this.chargeDays = chargeDays;
	}

	public String getTransType() {
		return transType;
	}

	public void setTransType(String transType) {
		this.transType = transType;
	}

	public Long getTransTypeId() {
		return transTypeId;
	}

	public void setTransTypeId(Long transTypeId) {
		this.transTypeId = transTypeId;
	}

	public Integer getPayment() {
		return payment;
	}

	public void setPayment(Integer payment) {
		this.payment = payment;
	}

	public Integer getIssueDate() {
		return issueDate;
	}

	public void setIssueDate(Integer issueDate) {
		this.issueDate = issueDate;
	}

	public Integer getRecAging() {
		return recAging;
	}

	public void setRecAging(Integer recAging) {
		this.recAging = recAging;
	}

	public Integer getInvoiceAging() {
		return invoiceAging;
	}

	public void setInvoiceAging(Integer invoiceAging) {
		this.invoiceAging = invoiceAging;
	}

	public Date getEffectiveDate() {
		return effectiveDate;
	}

	public void setEffectiveDate(Date effectiveDate) {
		this.effectiveDate = effectiveDate;
	}

	public Date getInvalidDate() {
		return invalidDate;
	}

	public void setInvalidDate(Date invalidDate) {
		this.invalidDate = invalidDate;
	}

	public Date getGmtCreate() {
		return gmtCreate;
	}

	public void setGmtCreate(Date gmtCreate) {
		this.gmtCreate = gmtCreate;
	}

	public Long getCreator() {
		return creator;
	}

	public void setCreator(Long creator) {
		this.creator = creator;
	}

	public Integer getIsStart() {
		return isStart;
	}

	public void setIsStart(Integer isStart) {
		this.isStart = isStart;
	}

	@Override
	protected Serializable pkVal() {
		return this.id;
	}

	@Override
	public String toString() {
		return "ChargeOffRule{" +
			", id=" + id +
			", fleetId=" + fleetId +
			", fleetName=" + fleetName +
			", fleetAttribute=" + fleetAttribute +
			", status=" + status +
			", payDayss=" + payDayss +
			", payDays=" + payDays +
			", chargeDays=" + chargeDays +
			", transType=" + transType +
			", transTypeId=" + transTypeId +
			", payment=" + payment +
			", issueDate=" + issueDate +
			", recAging=" + recAging +
			", invoiceAging=" + invoiceAging +
			", effectiveDate=" + effectiveDate +
			", invalidDate=" + invalidDate +
			", gmtCreate=" + gmtCreate +
			", creator=" + creator +
			", isStart=" + isStart +
			"}";
	}
}
